\section{Android application}
\subsection{Unit tests}

\subsubsection{Login}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ The nick and password had been introduced.
\item \textbf{Output} $\rightarrow$ The user has been logged in.
\item \textbf{Conditions} $\rightarrow$ The user must have been registered in the system before.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ The nick and password had been introduced.
\item \textbf{Output} $\rightarrow$ The system displays a message stating that the combination of the nick and password is invalid.
\item \textbf{Conditions} $\rightarrow$ The combination of nick and password have not been registered in the system before.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ The nick and password had been introduced.
\item \textbf{Output} $\rightarrow$ The system displays a message stating that the user has to enter a nick or password.
\item \textbf{Conditions} $\rightarrow$ The user has not introduced a required field.
\end{itemize}

\subsubsection{Register}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ All fields had been filled.
\item \textbf{Output} $\rightarrow$ The system displays a message stating that the user has been registered.
\item \textbf{Conditions} $\rightarrow$ All the fields have been filled correctly. The user and password fields have more than 
2 and 3 characters, respectively. Moreover, the nick does not exist in the system.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ All fields had been filled.
\item \textbf{Output} $\rightarrow$ The system displays a message stating that the user already exists.
\item \textbf{Conditions} $\rightarrow$ The introduced nick already exists in the system.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ Nick or password had not been filled or their length was less that required.
\item \textbf{Output} $\rightarrow$ The system displays a message informing about it.
\item \textbf{Conditions} $\rightarrow$ One of the fields was not filled or did not have the required length.
\end{itemize}

\subsubsection{View positions}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been introduced a user with a position.
\item \textbf{Output} $\rightarrow$ The system displays a map where the user is represented by a green bubble in his 
      current position.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been introduced a user with a position.
\item \textbf{Output} $\rightarrow$ The system displays a map where the friends are represented by red bubbles.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system and must have friends.
\end{itemize}


\begin{itemize}
\item \textbf{Input} $\rightarrow$ The user wants to see his position.
\item \textbf{Output} $\rightarrow$ The system displays a map with the user's friends but without the user's position.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system, but his position has not been 
      sent yet.
\end{itemize}

\subsubsection{Update positions}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been introduced a new position for a user. 
\item \textbf{Output} $\rightarrow$ The system displays a message informing that the position of the user has been changed.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system.
\end{itemize}

\subsubsection{View friends notes position}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been selected a user's friend to see his notes.
\item \textbf{Output} $\rightarrow$ The system displays a map with the friend's notes.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system, must have friends and his friend 
      must have notes.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been selected a user's friend to see his notes.
\item \textbf{Output} $\rightarrow$ The system displays a empty map.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system, must have friends but the friends 
      do not have notes.
\end{itemize}

\subsubsection{View friends notes}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been selected a group of notes of a user's friend. 
\item \textbf{Output} $\rightarrow$ The system displays a gallery with the notes.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system, must have the selected user as 
      a friend and his friend must have notes.
\end{itemize}

\subsubsection{Take a photo}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It has been introduced a photo, a comment and a position of one user in the system.
\item \textbf{Output} $\rightarrow$ The system displays a message informing that the photo has been saved.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system.
\end{itemize}

\subsubsection{Search friends}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It has been introduced different tags to search friends.
\item \textbf{Output} $\rightarrow$ The system displays a interface with the results.
\item \textbf{Conditions} $\rightarrow$ The tags must match with some users.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It has been introduced different tags to search friends.
\item \textbf{Output} $\rightarrow$ The system displays a message informing that there are not friends with these information. 
\item \textbf{Conditions} $\rightarrow$ The tags do not match with any user.
\end{itemize}


\subsubsection{Make a request for friends}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been introduced a user to make a friend's request for another user.
\item \textbf{Output} $\rightarrow$ The system displays a message informing that the friend's request has been sent.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system and there were no other previous 
      requests between them.
\end{itemize}

\subsubsection{Accept requests for friends}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It had been accepted a previous friend's request between two users. 
\item \textbf{Output} $\rightarrow$ The system displays a message stating that it has been established a friendship relation 
      between the users.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system and there was a previous request 
      between them.
\end{itemize}

\subsubsection{Create a comment}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ It has been introduced a comment and a position of one user in the system.
\item \textbf{Output} $\rightarrow$ The system displays a message informing that the note has been saved.
\item \textbf{Conditions} $\rightarrow$ The user must have already an account in the system.
\end{itemize}

\subsubsection{Modify user information}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ All fields had been filled.
\item \textbf{Output} $\rightarrow$ The system displays a message stating that the user's information has been modified successfully.
\item \textbf{Conditions} $\rightarrow$ All the fields had been filled correctly. The nick and password have to to more than 2 and 
3 characters, respectively. Also the nick does not exist in the system.
\end{itemize}

\begin{itemize}
\item \textbf{Input} $\rightarrow$ One or more fields had not been filled or do not have the required length.
\item \textbf{Output} $\rightarrow$ The system displays a message informing about it.
\item \textbf{Conditions} $\rightarrow$ One of the fields does not have the required length.
\end{itemize}

\subsubsection{Zoom}
\begin{itemize}
\item \textbf{Input} $\rightarrow$ Has been done zoom in a selected area on the note's map.
\item \textbf{Output} $\rightarrow$ In the previous zoom the system displays an icon that says \emph{2 notes} and in the next 
  zoom level the system split this group in two different notes. 
\item \textbf{Conditions} $\rightarrow$ The user must have two notes very close.
\end{itemize}


\subsection{Integration tests}
\begin{enumerate}
\item The application starts.
\item The login interface starts.
\item If you press \emph{Register} in the \emph{Login} interface, the \emph{Register} interface starts.
\item Is possible to introduce values in the fields in \emph{Register's} interface.
\item Is not possible introduce letters in the phone's field in \emph{Register's} interface.
\item Is not possible to show the password characters in \emph{Register's} interface.
\item If you press \emph{Cancel} button or \emph{Go back} in your phone in \emph{Register's} interface you return to 
      the \emph{Login} interface.
\item If you press \emph{Save} in \emph{Register's} interface the user has been stored and you return to the 
      \emph{Login} interface.
\item Is not possible to see the password characters in \emph{Login} interface.

\item If you press \emph{Login} in \emph{Login} interface you can see your position and those of your friends. 
\item If you click in one user's bubble in the map the system displays his notes.
\item If you press the button \emph{Menu} in your mobile the menu is displayed.
\item If you click in a note's icon the system open a gallery with the notes.
\item If you select another note in the gallery, the current note changes and you can see the note.
\item If you press \emph{Go back} in your phone in the gallery you return to the maps.

\item If you press \emph{Find friend} in the menu you access to the \emph{Find friend's} interface.
\item If you click in \emph{Search} button in \emph{Find friend's} interface with values you can access to \emph{Add friend's} 
      interface.
\item If you click in \emph{Cancel} button or \emph{Go back} in your phone in \emph{Find friend's} interface you return to maps.
\item If you click in \emph{Cancel} button or \emph{Go back} in your phone in \emph{Add friend's} interface you return to 
      \emph{Find friend's} interface.
\item If you press \emph{Update} in \emph{Add friend's} interface the system shows a message informing that the friendship had 
      been created. 
\item If you press \emph{Create comment} in the menu you access to the \emph{Create comment's} interface. 
\item If you create a comment in \emph{Create comment's} interface and press \emph{Save} button, the comment has been saved.
\item If you clicks in \emph{Cancel} button or \emph{Go back} in your phone in \emph{Create comment's} interface you return to 
      maps.
\item If you press \emph{Friend requests} in the menu you access to \emph{Friend request's} interface if you have friend's 
      requests.
\item If you press \emph{Friend requests} in the menu and you do not have friend requests, a message is displayed informing 
      about it.
\item If you press \emph{Modify} in the menu you access the \emph{Modify} interface.
\item Is not possible introduce letters in the phone's field in \emph{Modify} interface.
\item Is not possible to show the password characters in \emph{Modify} interface.
\item If you press \emph{Cancel} button or \emph{Go back} in your phone in \emph{Modify} interface you return to the map.
\item If you press \emph{Save} in \emph{Modify} interface the user has been stored and you return to the map.
\item If you press \emph{Photo} in the menu you access to \emph{Take a photo's} interface.
\item If you press the button \emph{Take a photo} in \emph{Take a photo's} interface, the image is hold and the button change
      his message to \emph{Try again}.
\item If you press the button \emph{Try} in \emph{Take a photo's} interface, the video is working and the button change
      his message to \emph{Take a photo}.
\item If you press \emph{Cancel} button or \emph{Go back} in your phone in \emph{Take a photo's} interface you return to the map.
\item If you press in \emph{Save} button in \emph{Take a photo's} interface it displays a message informing that the photo has 
      been stored.
\item If you press \emph{Logout} or \emph{Go back} in your phone in the menu you return to \emph{Login} interface.
\item If you press \emph{Go back} in \emph{Login} interface you leaves the application.
\end{enumerate}